﻿namespace Smart.Utils.UI.BarcodeLib
{
    using System;

    internal class JAN13 : BarcodeCommon, IBarcode
    {
        public JAN13(string input)
        {
            base.Raw_Data = input;
        }

        private string Encode_JAN13()
        {
            if (!base.Raw_Data.StartsWith("49"))
            {
                throw new Exception("EJAN13-1: Invalid Country Code for JAN13 (49 required)");
            }
            if (!BarcodeEdit.CheckNumericOnly(base.Raw_Data))
            {
                throw new Exception("EJAN13-2: Numeric Data Only");
            }
            EAN13 ean = new EAN13(base.Raw_Data);
            return ean.Encoded_Value;
        }

        public string Encoded_Value
        {
            get
            {
                return this.Encode_JAN13();
            }
        }
    }
}

